const path=require('path')
const fileUtils=require('../utils/file_utils.js')
const WebSocket=require('ws')
// 创建WebSocket对象
const wss=new WebSocket.Server({
    port:9998
})
// 服务端开启了监听
module.exports.listen=()=>{
    // 对客户端连接事件和客户端发送数据给服务器事件进行监听
    // client代表客户端连接的socket对象
    wss.on('connection',client=>{
        console.log('有客户端连接成功了...');
        // msg:客户端向服务器发送的数据
        client.on('message',async msg=>{
            console.log('客户端向服务器发送的数据是：'+msg);
            const payLoad=JSON.parse(msg)
            const action=payLoad.action
            if(action==='getData'){
                let filePath='../data/'+payLoad.chartName+'.json'
                filePath=path.join(__dirname,filePath)
                const res=await fileUtils.getFileJsonData(filePath)
                payLoad.data=res//data所对应的值就是某个json文件的内容
                client.send(JSON.stringify(payLoad))   
            }else{
                // 如果action是切换全屏或者是切换主题行为，不需做任何操作，直接将数据传给客户端
                // wss.clients//所有连接服务器的客户端数组对象
               wss.clients.forEach(client=>client.send(JSON.stringify(payLoad)))
            }
            // 服务端向客户端发送数据
            //client.send('hello socket from backend')
        })
    })
}



